FIG. 1 is a block diagram of a conventional architecture comprising applications in a heterogeneous environment and a conventional tape library system. Architecture 100 includes a plurality of server computer systems 102-1, . . . , 102-N, where each server computer system executes a corresponding application of a plurality of applications 104-1, . . . , 104-N in a heterogeneous environment (i.e., so that the applications 104-1, . . . , 104-N are associated with the computer systems 102-1, . . . , 102-N in a one-to-one correspondence). Each server computer system 102-1, . . . , 102-N may execute one or more other applications (not shown). Each server computer system 102-1, . . . , 102-N is connected to a tape library 110 via a network 106. Tape library 100 comprises a plurality of tape drives 112-1, . . . , 112-M, a plurality of storage slots 114 holding removable media cartridges (not shown) and a cartridge accessor or robot (not shown) moving removable media from slots to drives and vice versa. Network 106 provides a way for applications 104-1, . . . , 104-N to communicate with and process data on tape drives 112-1, . . . , 112-M included in tape library 110. The protocol for the communication between the applications and tape drives is, for example, based on the Small Computer System Interface (SCSI).
Tape library 110 also comprises a tape library controller 116 which controls the cartridge accessor and tape drives 112-1, . . . , 112-M. Tape library controller has a connection 118 (a.k.a. library-drive interface) to the tape drives 112-1, . . . , 112-M, which allows the tape library controller to obtain status information from the tape drives, such as a tape drive serial number, error logs, and drive status, or to test the tape drives.
Tape library controller 116 is connected to server computer systems 102-1, . . . , 102-N and applications 104-1, . . . , 104-N via a network 108 (e.g., an Ethernet-based network). Network 108 allows server computer systems 102-1, . . . , 102-N and applications 104-1, . . . , 104-N to configure and manage tape library 110 (e.g., set up logical libraries and corresponding policies and to obtain error logs and status information from the tape library and tape drives). As one example, server computer system 102-1 and application 104-1 may automatically obtain information about tape library 110 and tape drive errors through the Simple Network Management Protocol (SNMP) protocol. Network 108 may be the same network as network 106 or a different network from network 106.
The multiple applications 104-1, . . . , 104-N using one tape library 110 are limited in that applications of different types are not able to share one tape drive because applications are not able to handle concurrent access to one tape drive. For example, if application 104-1 accesses tape drive 112-1, it may send a SCSI RESERVE command to reserve the tape drive for the time of the access. When application 104-1 has finished the access to tape drive 112-1, application 104-1 sends the corresponding SCSI RELEASE command. If application 104-N wants to access tape drive 112-1 at the time the tape drive is reserved by application 104-1, then the application 104-N receives an error message indicating the tape drive 112-1 is reserved, thereby causing application 104-N to set the tape drive 112-1 offline. In conventional systems, this offline condition then requires time-consuming manual intervention. As one example, an administrator addresses the aforementioned error message by manually setting the tape drive 112-1 online in application 104-N. In another example, when application 104-1 accesses tape drive 112-1 in a heterogeneous environment, the tape drive 112-1 is manually set offline in the application 104-N and when the application 104-1 has finished accessing tape drive 112-1, the tape drive 112-1 is manually set online in the application 104-N. In general, whenever a tape drive is reserved by one application in a heterogeneous environment, the tape drive is manually set offline in all other applications sharing the same tape drive, and when the tape drive is released by that application, the tape drive is manually set online in all other applications sharing the same tape drive. Therefore, each of the applications 104-1, . . . , 104-N requires at least one dedicated tape drive in tape library 110, which consumes additional physical resources and energy, and increases the cost of a conventional system. Thus, there exists a need to overcome at least one of the preceding deficiencies and limitations of the related art.